/**
 * Created by liumin on 14-5-6.
 */
var rpc = require('./index.js');
var CONFIG = require('../../../common/config');



/* 自动排版文档的各页面，并写入到数据库.
 * 参数:docId:文档id
 * 参数:callback:回调，参数如下：
 *          error:错误内容，null表示没有错误
 * */
exports.typesetDoc= function(docId,callback){
    rpc.connect(CONFIG.AUTO_SERVER_RPC_PORT, CONFIG.AUTO_SERVER_DOMAIN, function(remote, conn){
        remote.typesetDoc(docId, function(res){
            console.log("rpc auto typesetDoc: "+ docId+" ,result: "+JSON.stringify(res));
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
}
/** 自动排版指定页
 * @parem docId
 * @param pageId
 * @param callback
 */
exports.typesetDocPage= function(docId,pageId,callback){
    rpc.connect(CONFIG.AUTO_SERVER_RPC_PORT, CONFIG.AUTO_SERVER_DOMAIN, function(remote, conn){
        remote.typesetDocPage(docId,pageId,function(res){
            console.log("rpc auto typesetDocPage: "+ docId+" ,result: "+JSON.stringify(res));
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
}

/* 解析视频
 * 参数:videoUrl:七牛视频地址
 * 参数:callback:回调
 * */
exports.parseVideo= function(videoUrl,callback){
    rpc.connect(CONFIG.VIDEO_SERVER_RPC_PORT, CONFIG.VIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.parseVideo(videoUrl, function(res){
            console.log("rpc video parseVideo: "+ videoUrl+" , result: "+JSON.stringify(res));
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
}

/* 根据题纲文档id创建图片，返回图片数组
 * 参数:docId:文档id
 * 参数:type,数据类型，1表示map表的数据／2表示design表的数据／3表示user表的数据
 * 参数:reuse,1表示重用已经存在的缩略图
 */
exports.createTGDocImage= function(docId,type,reuse,callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createTGDocImage(docId,type,reuse, function(res){
            console.log("rpc image createTGDocImage "+ JSON.stringify(docId)+" ,result: "+res);
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
}

/**
 * 根据符合路径生成指定颜色图片
 * @param json 复合路径的json字符串
 * @param versionId
 * @param userId
 * @param r/g/b 指定颜色
 * @param callback
 */
exports.createColorImageOfCompoundPath= function(json, versionId, userId, r, g, b, callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createColorImageOfCompoundPath(json, versionId, userId, r, g, b, function(res){
            console.log("rpc image createColorImageOfCompoundPath, result: "+res);
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
};

/* 创建印刷文件
 * 参数:docId:文档id
 * 参数:reuse,1表示重用已经存在的缩略图
 */
exports.createImageForPrint= function(docId,reuse,callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createImageForPrint(docId,reuse, function(error, images){
            console.log("rpc image createImageForPrint "+ JSON.stringify(docId)+" ,result: "+images);
            callback(error, images);

            conn.destroy();
            conn.end();
        });
    });
};

/* 创建印刷文件
 * 参数:docId:文档id
 * 参数:reuse,1表示重用已经存在的缩略图
 * 参数:zoom:放大倍数
 */
exports.createImageForPrintEx= function(docId,reuse,zoom , callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createImageForPrintEx(docId,reuse, zoom ,function(error, images){
            console.log("rpc image createImageForPrintEx "+ JSON.stringify(docId)+" ,result: "+images);
            callback(error, images);

            conn.destroy();
            conn.end();
        });
    });
};
exports.createImageForPrintNoBleedEx= function(docId,reuse,zoom , callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createImageForPrintNoBleedEx(docId,reuse, zoom ,function(error, images){
            console.log("rpc image createImageForPrintNoBleedEx "+ JSON.stringify(docId)+" ,result: "+images);
            callback(error, images);

            conn.destroy();
            conn.end();
        });
    });
};
/* 裁掉出血区域
 * 参数:cutBleed:表示对出血区域的处理方式，例如 1:裁掉出血,0:带3mm出血,-1:带2mm出血,-2:带1mm出血
 */
exports.createImageForPrintCutBleed= function(docId,reuse, zoom , cutBleed, callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createImageForPrintCutBleed(docId,reuse, zoom ,cutBleed, function(error, images){
            console.log("rpc image createImageForPrintCutBleed "+ JSON.stringify(docId)+" ,result: "+images);
            callback(error, images);

            conn.destroy();
            conn.end();
        });
    });
};

/* 自动排版文档的各页面，并写入到数据库.
 * 参数:docId:文档id
 * 参数:callback:回调，参数如下：
 *          error:错误内容，null表示没有错误
 *
 * @deprecated 废弃 auto 2018-05-02 add by wangjun
 * */
exports.typesetTGDoc= function(docId,callback){
    rpc.connect(CONFIG.AUTO_SERVER_RPC_PORT, CONFIG.AUTO_SERVER_DOMAIN, function(remote, conn){
        remote.typesetTGDoc(docId, function(res){
            console.log("rpc auto typesetTGDoc: "+ docId+" ,result: "+JSON.stringify(res));
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
};

/*
* image 直接排版设计作品
*
* @author 王俊
* @date 2018-05-02
*
* @param docId 作品/模板唯一标识
* @param type 1表示map表的数据／2表示design表的数据／3表示user表的数据
* @param
*
* */
exports.typesetTGDocImageOfDoc = function (docId, type, callback) {
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function (remote, conn) {
        remote.typesetTGDocImageOfDoc(docId, type, 0/*重用缩略图*/, function (error, images) {
            if(error) console.log('exports.typesetTGDocImageOfDoc: ' + error);
            return callback(error, images);

            conn.destroy();
            conn.end();
        });
    })
};


/* 合并图片
 * 参数：imagePath:图片1的地址
 * 参数：rect:输出图片等尺寸,例如：600
 * 参数：imagePath2:图片2的地址
 * 参数：rect2:输出图片等尺寸,例如：200
 * 参数：user_id:用户id
 * 参数:callback:回调，参数为
 *      error错误
 *      url结果
 * */
exports.combineImage=function(imagePath, rect, imagePath2, rect2, user_id, callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.combineImage(imagePath, rect, imagePath2, rect2, user_id, function(err,url){
            console.log("rpc image combineImage: "+ user_id+" ,result: "+url);
            callback(err,url);

            conn.destroy();
            conn.end();
        });
    });
};

/* 拼接图片
 * 参数：doc_id:  tg_user_doc的id
 * 参数：user_id:用户id
 * 参数:callback:回调，参数为
 *      error错误
 *      url数组
 * */
exports.montageImages=function(doc_id,  user_id, callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.montageImages(doc_id,  user_id, function(err,url){
            console.log("rpc image montageImages: "+ user_id+" ,result: "+url);
            callback(err,url);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 取得轮廓
 * 参数：texts ,string类型，本页文字属性列表的JSON，例如：
 *          "[{id:1,fz:64,te:\"xyz\":style:{ v:1,fn:微软雅黑,fs:20,bi:0,po:1,vpo:2,cs:6,ls:10,td:0}}]"
 * 返回结果：
 *          "[{\"id\":3,\"cp\":[]}]"
 */
exports.contourOfTexts= function(texts,callback){
    rpc.connect(CONFIG.FONT_SERVER_RPC_PORT, CONFIG.FONT_SERVER_DOMAIN, function(remote, conn){
        remote.contourOfTexts(texts, function(error, ret){
            console.log("rpc font contourOfTexts "+ JSON.stringify(texts)+" ,result: "+ret);
            callback(error, ret);

            conn.destroy();
            conn.end();
        });
    });
};


/* 创建城市合伙人的抽奖用的二维码
 * 参数:shareUrl :分享的用于抽优惠劵（发展下线）的url
 * 参数:callback:回调，参数如下：
 *          error:错误内容，null表示没有错误
 *          url:二维码图片（二维码＋文字）的url
 * */
exports.createQrCodeOfCityPartnerCoupon=function(shareUrl, callback){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createQrCodeOfCityPartnerCoupon(shareUrl, function(err,url){
            console.log("rpc image createQrCodeOfCityPartnerCoupon: "+ shareUrl+" ,result: "+url);
            callback(err,url);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 排版视频模板
 *
 * 参数: designId: 模板唯一标识
 * 参数: callback: 回调
 *          error: 错误
 *          result:{
 *              videoUrl :  视频地址
 *              videoDuration: 视频时长
 *          }
 *
 * */
exports.createDesignVideo = function(designId, callback) {
    // 视频生成服务器临时写死
    //rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN,function(remote, conn){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, '120.27.141.154',function(remote, conn){
        remote.createDesignVideo(designId, function(error, result){

            console.log('rpc image createDesignVideo: designId: ' + designId + ' videoUrl' + result);
            callback(error, result);
            conn.destroy();
            conn.end();
        });
    });
};


/**
 * 排版视频作品
 *
 * 参数: productId: 视频作品唯一标识
 * 参数: callback: 回调
 *          error: 错误
 *          result:{
 *              videoUrl: 视频地址,
 *              videoDuration: 视频时长
 *          }
 *
 * */
exports.createProductVideo = function(productId, callback) {
    // 视频生成服务器临时写死
    //rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, '120.27.141.154', function(remote, conn){
        remote.createProductVideo(productId,function(error, result){

            console.log('rpc image createProductVideo: productId: ' + productId + ' videoUrl: ' + JSON.stringify(result || '{}'));
            callback(error, result);
            conn.destroy();
            conn.end();
        });
    });
};


/**
 * 生成视频模版场景页图
 *
 * 参数: designId: 视频模版唯一标识
 * 参数: callback: 回调
 *          error: 错误
 *          result:{
 *              videoUrl: 视频地址,
 *              videoDuration: 视频时长
 *          }
 * */
exports.createVideoScenesImages = function(designId, callback) {
    // 视频生成服务器临时写死
    //rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.createVideoScenesImages(designId,function(error, result){

            console.log('rpc image createVideoScenesImages: designId: ' + designId + ', thumbsUrl: ' + JSON.stringify(result || '[]'));
            callback(error, result);
            conn.destroy();
            conn.end();
        });
    });
};

//============================ 一键秀相关排版 begin ===============================
/**
 * 自动排版一键秀 PPT 文档的各页面，并写入到数据库.(rpc auto)
 *
 * @deprecated 未使用, 废弃
 *
 * @author 王俊
 * @date 2017-11-21
 *
 * @param docId     ppt 文档id
 * @param callback  回调，参数如下：
 *             error:错误内容，null表示没有错误
 */
exports.yjxTypesetPPTUserDoc = function(docId,callback){
    rpc.connect(CONFIG.AUTO_SERVER_RPC_PORT, CONFIG.AUTO_SERVER_DOMAIN, function(remote, conn){
        remote.yjxTypesetPPTUserDoc(docId, function(res){
            console.log("rpc auto typesetTGDoc: "+ docId+" ,result: "+JSON.stringify(res));
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 自动排版生成用户竖屏文档, 并写入数据库(rpc image)
 *
 * @author 王俊
 * @date 2017-11-21
 *
 * @param docId     竖屏文档 id
 * @param withwm    排版是否携带水印
 * @param callback  回调
 *          err: 排版是否失败
 */
exports.yjxCreateDesignUserDocImage = function (docId, withwm, callback) {
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.yjxCreateDesignUserDocImage(docId, withwm,function(res){
            console.log("rpc image yjxCreateDesignUserDocImage "+ JSON.stringify(docId)+" ,result: "+res);
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
};
/**
 * 自动排版用户视频文档, 并写入数据库(rpc image)
 *
 * @author 王俊
 * @date 2017-11-21
 *
 * @param docId     视频作品唯一标识
 * @param withWm    是否携带水印
 * @param callback  回调
 *          err: 排版是否失败
 */
exports.yjxCreateVideoUserDocVideo = function (docId, withWm, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.yjxCreateVideoUserDocVideo(docId, withWm,function(res){
            console.log("rpc svideo yjxCreateVideoUserDocVideo "+ JSON.stringify(docId)+" ,result: "+res);
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
};
/**
 * 自动排版用户视频文档(带背景), 并写入数据库(rpc image)
 *
 * @author 王俊
 * @date 2017-11-21
 *
 * @param docId     视频作品唯一标识
 * @param withWm    是否携带水印
 * @param callback  回调
 *             err: 排版是否失败
 */
exports.yjxCreateVideoUserDocVideoWithBg = function (docId, withWm, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.yjxCreateVideoUserDocVideoWithBg(docId, withWm,function(res){
            console.log("rpc svideo yjxCreateVideoUserDocVideoWithBg "+ JSON.stringify(docId)+" ,result: "+res);
            callback(res);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 根据一键秀用户设计作品 id, 创建印刷图片(rpc image)
 *
 * @author 王俊
 * @date 2017-11-22
 *
 * @param docId     设计作品 id
 * @param withWm    是否携带水印
 * @param zoom      放大倍数, 默认为1
 * @param callback  回调
 *            error: 生成失败
 *            images: 印刷图链接数组
 */
exports.yjxCreateImageForPrint = function (docId, withWm, zoom,callback) {
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.yjxCreateImageForPrint(docId, withWm, zoom, function(error, images){
            console.log("rpc image yjxCreateImageForPrint ");
            callback(error, images);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 一键秀排版视频模板文档
 *
 * @author xc
 * @date 2017-12-04
 *
 * @param designId  视频模板 id
 * @param withWm    是否携带水印
 * @param callback  回调
 *          err: 排版失败
 */
exports.yjxCreateVideoDesignDocVideo = function(designId, withWm, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.yjxCreateVideoDesignDocVideo(designId, withWm,function(err, ret){
            if(err) {
                console.log("rpc svideo yjxCreateVideoDesignDocVideo: "+ Number(designId||'0') +", err: "+err);
            }
            console.log("rpc svideo yjxCreateVideoDesignDocVideo: "+ Number(designId||'0') +", result: "+ret);
            callback(err, ret);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 根据bodymovin的json文件生成视频
 * 用于设计师设计上传AE文件后，生成mp4预览视频
 * 参数：userId
 * 参数：lt_data:     Lottie文档json数据, 必需存在
 * 参数：lt_ver:      ［保留］版本号
 * 参数：w:            宽
 * 参数：h:            高
 * 参数：daudio:       ［保留］默认音频的路径（必需为aac格式）
 * 参数：thumb_video_frames: [可选]生成预览视频的帧的数组的json，例如 "[1,4,9]"
 * 参数：thumb_image_frame:  [可选]生成预览图的帧，例如，3
 * 参数：rate_num:  帧率的分子，例如 10
 * 参数：rate_den:  帧率的分母，例如 1
 * 返回值：map<int,string>的json字符串，key见 AE_BODYMOVIN_TMPL_SET_KEY_ 定义的宏
 *
 * 注意：自动抽取AE_BODYMOVIN_TMPL_SET_KEY_REPLACE_AE_OBJECT_THUMB时，需要生成图片
 */
exports.createVideoForAEJson = function(userId, ltData, ltVer, w, h, daudio, thumbVideoFrames, thumbImageFrame, rateNum, rateDen, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.createVideoForAEJson(userId, ltData, ltVer, w, h, daudio, thumbVideoFrames, thumbImageFrame, rateNum, rateDen, function(error, ret){
            console.log("rpc svideo createVideoForAEJson ");
            callback(error, ret);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 从bodymovin的json文件解析出数据
 * 用于设计师设计上传AE文件后，解析数据，方便在编辑器中使用
 * 参数：userId
 * 参数：lt_data：     Lottie文档json数据, 必需存在
 * 参数：lt_ver：      ［保留］版本号
 * 参数：w:            宽
 * 参数：h:            高
 * 参数：rate_num：  帧率的分子，例如 10
 * 参数：rate_den：  帧率的分母，例如 1
 * 返回值：map<int,string>的json字符串，key见 AE_BODYMOVIN_TMPL_SET_KEY_ 定义的宏
 *
 * 注意：自动抽取AE_BODYMOVIN_TMPL_SET_KEY_REPLACE_AE_OBJECT_THUMB时，需要生成图片
 */
exports.parseInfoFromAEJson = function(userId, ltData, ltVer, w, h, rateNum, rateDen, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.parseInfoFromAEJson(userId, ltData, ltVer, w, h, rateNum, rateDen, function(error, ret){
            console.log("rpc svideo parseInfoFromAEJson ");
            callback(error, ret);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 获取视频链接对应的视频文件的关键帧时刻数组
 *
 * @author 王俊
 * @date 2018-03-08
 *
 * @param videoUrl 视频链接
 * @param callback 获取时刻的回调
 *          error: 获取失败
 *          times: 视频所有关键帧对应的时刻数组
 */
exports.getVideoKeyFrameTimes = function(videoUrl, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.getVideoKeyFrameTimes(videoUrl, function(error, ret){
            console.log("rpc svideo parseInfoFromAEJson ");
            callback(error, ret);

            conn.destroy();
            conn.end();
        });
    });
};


/**
 * 自动排版用户视频文档, 并写入数据库(rpc svideo)
 *
 * @author 王俊
 * @date 2018-03-26
 *
 * @param {Object} options     排版参数
 * @param {Number} options.docId     视频作品表唯一标识
 * @param {Number} options.withWm    是否携带水印
 * @param {Number} options.quality   1 标清, 2 高清, 3 超清
 * @param callback  回调
 *          err: 排版是否失败
 */
exports.yjxCreateUserVideoDocVideoWithParam = function (options, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.yjxCreateUserVideoDocVideoWithParam(options,function(res){
            console.log("rpc svideo yjxCreateVideoUserDocVideo "+ JSON.stringify(options)+" ,result: "+res);
            if(callback) callback(res);

            conn.destroy();
            conn.end();
        });
    });
};

/**
 * 获取视频链接对应的视频文件信息
 *
 * @author 王俊
 * @date 2018-04-04
 *
 * @param {Object} options
 * @param {String} options.url    视频链接
 * @param callback  回调
 *          err: 获取信息失败
 *          videoInfo: 视频信息
 */
exports.yjxGetVideoBaseInfo = function (options, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.yjxGetVideoBaseInfo(options,function(error, videoInfo){
            if(callback) callback(error, videoInfo);
            conn.destroy();
            conn.end();
        });
    });
};

//============================ 一键秀相关排版 end ===============================

/**
 * 检测作品是否符合要求
 *
 * @author 王俊
 * @date 2018-05-31
 *
 * @param docIds      作品 id 数组
 * @param callback    回调函数
 *          error: 错误
 *          data: {124: 0}  文档 id 做 key, 状态做 value
 */
exports.yjscCheckDocumentsIsSatisfy = function (docIds, callback) {
    rpc.connect(CONFIG.IMAGE_SERVER_RPC_PORT, CONFIG.IMAGE_SERVER_DOMAIN, function(remote, conn){
        remote.yjscCheckDocumentsIsSatisfy(docIds,function(error, results){
            if(callback) callback(error, results);
            conn.destroy();
            conn.end();
        });
    });
};


//*************** 测试接口 begin ******************
/*
* 测试自定义视频生成接口
*
* @deprecated
*
* @author 王俊
* @date 2018-06-21
*
* */
exports.testPreviewCustomVideo = function (docJson, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.testPreviewCustomVideo(docJson, function (error, data) {
            if(callback) callback(error, data);
            conn.destroy();
            conn.end();
        })
    });
};


//**************** 测试接口 end *******************

/**
 * 排版用户自由创建作品文档
 *
 * @author 王俊
 * @date 2018-07-04
 *
 * @param {Object} options
 * @param {Number} options.docId 作品(子表)唯一标识
 * @param {Number} options.quality 1 标清, 2 高清, 3 超清
 * @param {Function} callback 回调函数
 *                      error: 排版失败
 */
exports.typesetCustomVideoUserDoc = function (options, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.typesetCustomVideoUserDoc(options, function (error, data) {
            if(callback) callback(error, data);
            conn.destroy();
            conn.end();
        })
    });
};


/**
 * 排版文字视频作品文档
 *
 * @author 毛凯
 * @date 2018-08-07
 *
 * @param {Object} options
 * @param {Number} options.docId 作品(子表)唯一标识
 * @param {Number} options.quality 1 标清, 2 高清, 3 超清
 * @param {Function} callback 回调函数
 *                      error: 排版失败
 */
exports.typesetTxtVideoUserDoc = function (options, callback) {
    rpc.connect(CONFIG.SVIDEO_SERVER_RPC_PORT, CONFIG.SVIDEO_SERVER_DOMAIN, function(remote, conn){
        remote.typesetTxtVideoUserDoc(options, function (error, data) {
            if(callback) callback(error, data);
            conn.destroy();
            conn.end();
        })
    });
};